The Application of Compile-Time Reflection to Software Fault Tolerance Using Ada 95
نویسندگان
چکیده
Transparent system support for software fault tolerance reduces performance in general and precludes application-specific optimizations in particular. In contrast, explicit support – especially at the language level – allows application-specific tailoring. However, current techniques that extend languages to support software fault tolerance lead to interwoven code addressing functional and non-functional requirements. Reflection promises both significant separation of concerns and a malleability allowing the user to customize the language toward the optimum point in a language design space. To explore this potential we compare common software fault tolerance scenarios implemented in both standard and reflective Ada. Specifically, in addition to backward error recovery and recovery blocks, we explore the application of reflection to atomic actions and conversations. We then compare the implementations in terms of expressive power, portability, and
منابع مشابه
OpenAda : A Metaobject Protocol for Ada 95
This paper describes OpenAda, a reflective version of Ada that we developed to support research in software fault tolerance with a language frequently used in high-reliability applications. Written in object-oriented Ada 95, OpenAda is similar to both OpenC++, arguably the most widely used language for software fault tolerance research, and OpenJava. All three are implementations of compile-tim...
متن کاملDevelopment of a Metaobject Protocol for Fault-Tolerance using Compile-Time Reflection
The use of metalevel architectures for the implementation of fault-tolerant systems is today very appealing. Nevertheless, all such fault-tolerant systems have used a general-purpose metaobject protocol (MOP) or are based on restricted reflective features of some object-oriented language. According to our past experience, we define in this paper a suitable metaobject protocol, called FT-MOP for...
متن کاملReplica Management in Real-Time Ada 95 Application
In this paper, we present some of the fault tolerance management mechanisms being implemented in the Multi-μ architecture, namely its support for replica non-determinism. In this architecture, fault tolerance is achieved by node active replication, with software based replica management and fault tolerance transparent algorithms. A software layer implemented between the application and the real...
متن کاملTolérance aux fautes sur CORBA par protocole à métaobjets et langages réflexifs
The goal of this dissertation is to design and implement a metaobject protocol adapted to fault-tolerance in Corba applications. No currently available metaobject protocol is satisfactory in this context. We define a protocol that enables dynamic control of (a) the behaviour and internal state of Corba objects, and (b) client/server and object/metaobject links. The implementation we propose is ...
متن کامل